<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>shark::GeneralizationLoss&lt; PointType &gt; Class Template Reference</title>
<script type="text/javaScript" src="search/search.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js"></script>
<script src="../../mlstyle.js"></script>
<link href="../css/besser.css" rel="stylesheet" type="text/css"/>
</head>
<!-- pretty cool: each body gets an id tag which is the basename of the web page  -->
<!--              and allows for page-specific CSS. this is client-side scripted, -->
<!--              so the id will not yet show up in the served source code -->
<script type="text/javascript">
    jQuery(document).ready(function () {
        var url = jQuery(location).attr('href');
        var pname = url.substr(url.lastIndexOf("/")+1, url.lastIndexOf(".")-url.lastIndexOf("/")-1);
        jQuery('#this_url').html('<strong>' + pname + '</strong>');
        jQuery('body').attr('id', pname);
    });
</script>
<body>
    <div id="shark_old">
        <div id="wrap">
            <div id="header">
                <div id="site-name"><a href="../../sphinx_pages/build/html/index.html">Shark machine learning library</a></div>
                <ul id="nav">
                    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/installation.html">Installation</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/tutorials/tutorials.html">Tutorials</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/benchmark.html">Benchmarks</a>
                    </li>
                    <li class="active">
                        <a href="classes.html">Documentation</a>
                        <ul>
                            <li class="first"></li>
                            <li><a href="../../sphinx_pages/build/html/rest_sources/quickref/quickref.html">Quick references</a></li>
                            <li><a href="classes.html">Class list</a></li>
                            <li class="last"><a href="group__shark__globals.html">Global functions</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>
<div id="doxywrapper">
<!--
    <div id="global_doxytitle">Doxygen<br>Documentation:</div>
-->
    <div id="navrow_wrapper">
<!-- Generated by Doxygen 1.9.8 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceshark.html">shark</a></li><li class="navelem"><a class="el" href="classshark_1_1_generalization_loss.html">GeneralizationLoss</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="classshark_1_1_generalization_loss-members.html">List of all members</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle"><div class="title">shark::GeneralizationLoss&lt; PointType &gt; Class Template Reference</div></div>
</div><!--header-->
<div class="contents">

<p>The generalization loss calculates the relative increase of the validation error compared to the minimum training error.  
 <a href="classshark_1_1_generalization_loss.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_generalization_loss_8h_source.html">shark/Algorithms/StoppingCriteria/GeneralizationLoss.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for shark::GeneralizationLoss&lt; PointType &gt;:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classshark_1_1_generalization_loss__inherit__graph.png" border="0" usemap="#ashark_1_1_generalization_loss_3_01_point_type_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="ashark_1_1_generalization_loss_3_01_point_type_01_4_inherit__map" id="ashark_1_1_generalization_loss_3_01_point_type_01_4_inherit__map">
<area shape="rect" title="The generalization loss calculates the relative increase of the validation error compared to the mini..." alt="" coords="24,94,197,135"/>
<area shape="rect" href="classshark_1_1_abstract_stopping_criterion.html" title="Base class for stopping criteria of optimization algorithms." alt="" coords="5,5,216,46"/>
<area shape="poly" title=" " alt="" coords="113,62,113,94,108,94,108,62"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:acbef2a032c71c0a28a69b74923dfe39d" id="r_acbef2a032c71c0a28a69b74923dfe39d"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structshark_1_1_validated_single_objective_result_set.html">ValidatedSingleObjectiveResultSet</a>&lt; PointType &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_generalization_loss.html#acbef2a032c71c0a28a69b74923dfe39d">ResultSet</a></td></tr>
<tr class="separator:acbef2a032c71c0a28a69b74923dfe39d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classshark_1_1_abstract_stopping_criterion"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classshark_1_1_abstract_stopping_criterion')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classshark_1_1_abstract_stopping_criterion.html">shark::AbstractStoppingCriterion&lt; ResultSetT &gt;</a></td></tr>
<tr class="memitem:aa813314942f2e999ac8b9c985d001f96 inherit pub_types_classshark_1_1_abstract_stopping_criterion" id="r_aa813314942f2e999ac8b9c985d001f96"><td class="memItemLeft" align="right" valign="top">typedef ResultSetT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_stopping_criterion.html#aa813314942f2e999ac8b9c985d001f96">ResultSet</a></td></tr>
<tr class="separator:aa813314942f2e999ac8b9c985d001f96 inherit pub_types_classshark_1_1_abstract_stopping_criterion"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9e9301fda04d339f9ec398f1a10deff1" id="r_a9e9301fda04d339f9ec398f1a10deff1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_generalization_loss.html#a9e9301fda04d339f9ec398f1a10deff1">GeneralizationLoss</a> (double maxLoss)</td></tr>
<tr class="separator:a9e9301fda04d339f9ec398f1a10deff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad6c1748d44692f8163321bb12b4e80e" id="r_aad6c1748d44692f8163321bb12b4e80e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_generalization_loss.html#aad6c1748d44692f8163321bb12b4e80e">stop</a> (const <a class="el" href="classshark_1_1_generalization_loss.html#acbef2a032c71c0a28a69b74923dfe39d">ResultSet</a> &amp;set)</td></tr>
<tr class="separator:aad6c1748d44692f8163321bb12b4e80e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a986240304b8229257327128e5a35bc61" id="r_a986240304b8229257327128e5a35bc61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_generalization_loss.html#a986240304b8229257327128e5a35bc61">reset</a> ()</td></tr>
<tr class="memdesc:a986240304b8229257327128e5a35bc61"><td class="mdescLeft">&#160;</td><td class="mdescRight">resets the internal state  <br /></td></tr>
<tr class="separator:a986240304b8229257327128e5a35bc61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bf2bb403942d239346e1733e0ed56a9" id="r_a4bf2bb403942d239346e1733e0ed56a9"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_generalization_loss.html#a4bf2bb403942d239346e1733e0ed56a9">value</a> () const</td></tr>
<tr class="memdesc:a4bf2bb403942d239346e1733e0ed56a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the current generalization loss  <br /></td></tr>
<tr class="separator:a4bf2bb403942d239346e1733e0ed56a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_abstract_stopping_criterion"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_abstract_stopping_criterion')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_abstract_stopping_criterion.html">shark::AbstractStoppingCriterion&lt; ResultSetT &gt;</a></td></tr>
<tr class="memitem:a74a1d1aea141cf2ad5d69e29cb90f25c inherit pub_methods_classshark_1_1_abstract_stopping_criterion" id="r_a74a1d1aea141cf2ad5d69e29cb90f25c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_stopping_criterion.html#a74a1d1aea141cf2ad5d69e29cb90f25c">stop</a> (<a class="el" href="classshark_1_1_abstract_stopping_criterion.html#aa813314942f2e999ac8b9c985d001f96">ResultSet</a> const &amp;set)=0</td></tr>
<tr class="separator:a74a1d1aea141cf2ad5d69e29cb90f25c inherit pub_methods_classshark_1_1_abstract_stopping_criterion"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ad86076d6de3470bf35a4f9993de65ee0" id="r_ad86076d6de3470bf35a4f9993de65ee0"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_generalization_loss.html#ad86076d6de3470bf35a4f9993de65ee0">m_minTraining</a></td></tr>
<tr class="memdesc:ad86076d6de3470bf35a4f9993de65ee0"><td class="mdescLeft">&#160;</td><td class="mdescRight">minimum training error  <br /></td></tr>
<tr class="separator:ad86076d6de3470bf35a4f9993de65ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f6f92bfad663f79099cad36ba849d1b" id="r_a6f6f92bfad663f79099cad36ba849d1b"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_generalization_loss.html#a6f6f92bfad663f79099cad36ba849d1b">m_minValidation</a></td></tr>
<tr class="memdesc:a6f6f92bfad663f79099cad36ba849d1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">minimum validation error  <br /></td></tr>
<tr class="separator:a6f6f92bfad663f79099cad36ba849d1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b5d786c4d3dde585c7fcf0f68ad2f78" id="r_a0b5d786c4d3dde585c7fcf0f68ad2f78"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_generalization_loss.html#a0b5d786c4d3dde585c7fcf0f68ad2f78">m_maxLoss</a></td></tr>
<tr class="memdesc:a0b5d786c4d3dde585c7fcf0f68ad2f78"><td class="mdescLeft">&#160;</td><td class="mdescRight">maximum loss allowed  <br /></td></tr>
<tr class="separator:a0b5d786c4d3dde585c7fcf0f68ad2f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24c4c4191842c84b3e74aeae1ed9477f" id="r_a24c4c4191842c84b3e74aeae1ed9477f"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_generalization_loss.html#a24c4c4191842c84b3e74aeae1ed9477f">m_gl</a></td></tr>
<tr class="memdesc:a24c4c4191842c84b3e74aeae1ed9477f"><td class="mdescLeft">&#160;</td><td class="mdescRight">current generalization loss  <br /></td></tr>
<tr class="separator:a24c4c4191842c84b3e74aeae1ed9477f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;class PointType = RealVector&gt;<br />
class shark::GeneralizationLoss&lt; PointType &gt;</div><p>The generalization loss calculates the relative increase of the validation error compared to the minimum training error. </p>
<p>The generalization loss at iteration t is calculated as \( GL(t) 100 \left( \frac {E_v(t)} {\min_{t&#39;} E_l(t&#39;)}  -1 \right)  \) where \( E_v \) is the validation error and \( E_l \) the training error. This is a good indicator for overfitting, since it measures directly the gap between the two values. This method stops when the generalization error is bigger than some predefined value. The disadvantage is, that when the training error is still changing much a big generalization loss might be repaired later on. So this method might stop to soon.</p>
<p>Terminology for this and other stopping criteria is taken from (and also see):</p>
<p>Lutz Prechelt. Early Stopping - but when? In Genevieve B. Orr and Klaus-Robert Müller: Neural Networks: Tricks of the Trade, volume 1524 of LNCS, Springer, 1997. </p>

<p class="definition">Definition at line <a class="el" href="_generalization_loss_8h_source.html#l00061">61</a> of file <a class="el" href="_generalization_loss_8h_source.html">GeneralizationLoss.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="acbef2a032c71c0a28a69b74923dfe39d" name="acbef2a032c71c0a28a69b74923dfe39d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbef2a032c71c0a28a69b74923dfe39d">&#9670;&#160;</a></span>ResultSet</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class PointType  = RealVector&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structshark_1_1_validated_single_objective_result_set.html">ValidatedSingleObjectiveResultSet</a>&lt;PointType&gt; <a class="el" href="classshark_1_1_generalization_loss.html">shark::GeneralizationLoss</a>&lt; PointType &gt;::ResultSet</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_generalization_loss_8h_source.html#l00063">63</a> of file <a class="el" href="_generalization_loss_8h_source.html">GeneralizationLoss.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a9e9301fda04d339f9ec398f1a10deff1" name="a9e9301fda04d339f9ec398f1a10deff1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e9301fda04d339f9ec398f1a10deff1">&#9670;&#160;</a></span>GeneralizationLoss()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class PointType  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_generalization_loss.html">shark::GeneralizationLoss</a>&lt; PointType &gt;::GeneralizationLoss </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>maxLoss</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>constructs a generaliazationLoss which stops, when the GL &gt; maxLoss </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">maxLoss</td><td>maximum loss allowed before stopping </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="_generalization_loss_8h_source.html#l00066">66</a> of file <a class="el" href="_generalization_loss_8h_source.html">GeneralizationLoss.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_generalization_loss.html#a0b5d786c4d3dde585c7fcf0f68ad2f78">shark::GeneralizationLoss&lt; PointType &gt;::m_maxLoss</a>, and <a class="el" href="classshark_1_1_generalization_loss.html#a986240304b8229257327128e5a35bc61">shark::GeneralizationLoss&lt; PointType &gt;::reset()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a986240304b8229257327128e5a35bc61" name="a986240304b8229257327128e5a35bc61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a986240304b8229257327128e5a35bc61">&#9670;&#160;</a></span>reset()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class PointType  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classshark_1_1_generalization_loss.html">shark::GeneralizationLoss</a>&lt; PointType &gt;::reset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>resets the internal state </p>

<p>Implements <a class="el" href="classshark_1_1_abstract_stopping_criterion.html#a2cd08d7ec1a7627ad17ce451b8ba915c">shark::AbstractStoppingCriterion&lt; ResultSetT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_generalization_loss_8h_source.html#l00081">81</a> of file <a class="el" href="_generalization_loss_8h_source.html">GeneralizationLoss.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_generalization_loss.html#ad86076d6de3470bf35a4f9993de65ee0">shark::GeneralizationLoss&lt; PointType &gt;::m_minTraining</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_generalization_loss.html#a9e9301fda04d339f9ec398f1a10deff1">shark::GeneralizationLoss&lt; PointType &gt;::GeneralizationLoss()</a>.</p>

</div>
</div>
<a id="aad6c1748d44692f8163321bb12b4e80e" name="aad6c1748d44692f8163321bb12b4e80e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad6c1748d44692f8163321bb12b4e80e">&#9670;&#160;</a></span>stop()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class PointType  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_generalization_loss.html">shark::GeneralizationLoss</a>&lt; PointType &gt;::stop </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classshark_1_1_generalization_loss.html#acbef2a032c71c0a28a69b74923dfe39d">ResultSet</a> &amp;&#160;</td>
          <td class="paramname"><em>set</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>returns true if the training should stop. The generalization loss orders the optimizer to stop as soon as the validation error grows larger than a certain factor of the minimum validation error encountered so far. </p>

<p class="definition">Definition at line <a class="el" href="_generalization_loss_8h_source.html#l00074">74</a> of file <a class="el" href="_generalization_loss_8h_source.html">GeneralizationLoss.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_generalization_loss.html#a24c4c4191842c84b3e74aeae1ed9477f">shark::GeneralizationLoss&lt; PointType &gt;::m_gl</a>, <a class="el" href="classshark_1_1_generalization_loss.html#a0b5d786c4d3dde585c7fcf0f68ad2f78">shark::GeneralizationLoss&lt; PointType &gt;::m_maxLoss</a>, <a class="el" href="classshark_1_1_generalization_loss.html#ad86076d6de3470bf35a4f9993de65ee0">shark::GeneralizationLoss&lt; PointType &gt;::m_minTraining</a>, <a class="el" href="structshark_1_1_validated_single_objective_result_set.html#af4c20b22e22ade2827c9e94b9aceccf5">shark::ValidatedSingleObjectiveResultSet&lt; SearchPointTypeT &gt;::validation</a>, and <a class="el" href="structshark_1_1_result_set.html#abfb2c7bc8ee3b184bbef15cb250ead50">shark::ResultSet&lt; SearchPointT, ResultT &gt;::value</a>.</p>

</div>
</div>
<a id="a4bf2bb403942d239346e1733e0ed56a9" name="a4bf2bb403942d239346e1733e0ed56a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4bf2bb403942d239346e1733e0ed56a9">&#9670;&#160;</a></span>value()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class PointType  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classshark_1_1_generalization_loss.html">shark::GeneralizationLoss</a>&lt; PointType &gt;::value </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>returns the current generalization loss </p>

<p class="definition">Definition at line <a class="el" href="_generalization_loss_8h_source.html#l00085">85</a> of file <a class="el" href="_generalization_loss_8h_source.html">GeneralizationLoss.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_generalization_loss.html#a24c4c4191842c84b3e74aeae1ed9477f">shark::GeneralizationLoss&lt; PointType &gt;::m_gl</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a24c4c4191842c84b3e74aeae1ed9477f" name="a24c4c4191842c84b3e74aeae1ed9477f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24c4c4191842c84b3e74aeae1ed9477f">&#9670;&#160;</a></span>m_gl</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class PointType  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classshark_1_1_generalization_loss.html">shark::GeneralizationLoss</a>&lt; PointType &gt;::m_gl</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>current generalization loss </p>

<p class="definition">Definition at line <a class="el" href="_generalization_loss_8h_source.html#l00097">97</a> of file <a class="el" href="_generalization_loss_8h_source.html">GeneralizationLoss.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_generalization_loss.html#aad6c1748d44692f8163321bb12b4e80e">shark::GeneralizationLoss&lt; PointType &gt;::stop()</a>, and <a class="el" href="classshark_1_1_generalization_loss.html#a4bf2bb403942d239346e1733e0ed56a9">shark::GeneralizationLoss&lt; PointType &gt;::value()</a>.</p>

</div>
</div>
<a id="a0b5d786c4d3dde585c7fcf0f68ad2f78" name="a0b5d786c4d3dde585c7fcf0f68ad2f78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b5d786c4d3dde585c7fcf0f68ad2f78">&#9670;&#160;</a></span>m_maxLoss</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class PointType  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classshark_1_1_generalization_loss.html">shark::GeneralizationLoss</a>&lt; PointType &gt;::m_maxLoss</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>maximum loss allowed </p>

<p class="definition">Definition at line <a class="el" href="_generalization_loss_8h_source.html#l00095">95</a> of file <a class="el" href="_generalization_loss_8h_source.html">GeneralizationLoss.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_generalization_loss.html#a9e9301fda04d339f9ec398f1a10deff1">shark::GeneralizationLoss&lt; PointType &gt;::GeneralizationLoss()</a>, and <a class="el" href="classshark_1_1_generalization_loss.html#aad6c1748d44692f8163321bb12b4e80e">shark::GeneralizationLoss&lt; PointType &gt;::stop()</a>.</p>

</div>
</div>
<a id="ad86076d6de3470bf35a4f9993de65ee0" name="ad86076d6de3470bf35a4f9993de65ee0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad86076d6de3470bf35a4f9993de65ee0">&#9670;&#160;</a></span>m_minTraining</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class PointType  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classshark_1_1_generalization_loss.html">shark::GeneralizationLoss</a>&lt; PointType &gt;::m_minTraining</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>minimum training error </p>

<p class="definition">Definition at line <a class="el" href="_generalization_loss_8h_source.html#l00090">90</a> of file <a class="el" href="_generalization_loss_8h_source.html">GeneralizationLoss.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_generalization_loss.html#a986240304b8229257327128e5a35bc61">shark::GeneralizationLoss&lt; PointType &gt;::reset()</a>, and <a class="el" href="classshark_1_1_generalization_loss.html#aad6c1748d44692f8163321bb12b4e80e">shark::GeneralizationLoss&lt; PointType &gt;::stop()</a>.</p>

</div>
</div>
<a id="a6f6f92bfad663f79099cad36ba849d1b" name="a6f6f92bfad663f79099cad36ba849d1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f6f92bfad663f79099cad36ba849d1b">&#9670;&#160;</a></span>m_minValidation</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class PointType  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classshark_1_1_generalization_loss.html">shark::GeneralizationLoss</a>&lt; PointType &gt;::m_minValidation</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>minimum validation error </p>

<p class="definition">Definition at line <a class="el" href="_generalization_loss_8h_source.html#l00092">92</a> of file <a class="el" href="_generalization_loss_8h_source.html">GeneralizationLoss.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/shark/Algorithms/StoppingCriteria/<a class="el" href="_generalization_loss_8h_source.html">GeneralizationLoss.h</a></li>
</ul>
</div><!-- contents -->
</div>
</body>
</html>
